In accordance with recent technical developments, various types of personal computers (PCS), such as desktop and notebook PCS, are being produced and sold on the market. Essentially, a computer comprises a central processing unit (CPU) and a memory. The CPU reads, as needed, necessary data and programs from the memory, executes a desired program, manipulates the data, and writes the results to the memory. Typically, the memory is made of volatile semiconductor devices, such as DRAM. Volatile memory is relatively expensive, and memory capacity is substantially limited from a few to several tens of megabytes. To increase memory capacity, computer systems add a nonvolatile external memory device with a large storage capacity. Currently, hard disk drives (HDD) are one of the more popular external memory devices. From 1993 to 1994, the density and access rate of HDDs has improved, and HDDs having a storage capacity of one gigabyte are available at low cost.
An HDD comprises a storage medium, e.g. a hard disk, a read/write head, a spindle motor that rotates the storage medium, and a circuit board. The circuit board comprises a controller, a connector, and read/write, head positioning, motor driving, and interface circuits. The controller controls the circuits. The connector connects the HDD to the interface board of a personal computer (PC). The Integrated Device Electronics (IDE) interface is a defacto standard interface for connecting HDDs to PCS. An HDD that conforms to the IDE standard will be referred to as an "IDE.sub.-- HDD." An HDD can be directly connected to a system bus of a PC, e.g., an Industry Standard Architecture (ISA) bus using the IDE with only a buffer therebetween.
As is well-known to those of ordinary skill in the art, the IDE standard allows two HDDs to connect to a single interface board. When two HDDs are connected, one HDD serves as a master HDD while the other HDD serves as a slave HDD. An HDD is designated as a master or a slave by providing a control signal, e.g. "-M/S," to each of the connected IDE.sub.-- HDDs. When the -M/S control signal is in a low-level state, the IDE.sub.-- HDD acknowledges itself as a master HDD. When the -M/S control signal is in a high-level state, the IDE.sub.-- HDD acknowledges itself as a slave HDD. The master IDE.sub.-- HDD sets a predetermined flag in its control register to "0", e.g., "DRV" which is the fourth bit of a "Drive/Head register," while a slave IDE.sub.-- HDD sets the DRV flag to "1". The PC uses DRV to switch the access to either the master or the slave. The master/slave relationship results from the restrictions imposed by the computer architecture. When multiple HDDs are connected to the interface board of a PC, the HDDs must share a single I/O space, i.e., each HDD does not have its own I/O port.
To maintain compatibility with older IDE devices, two requirements must be met. First, the PC acknowledges the presence of the slave HDD only via the master HDD. Second, the master and slave are designated when the PC is powered on, and once designated, the designation can not be changed until the PC is powered off.
Conventionally, a jumper plug is used to designate an IDE.sub.-- HDD as a master or a slave, for example U.S. Pat. No. 5,519,882. The jumper plug short circuits the connecter pins of the IDE.sub.-- HDD. Therefore, when the IDE.sub.-- HDD is connected to the interface board of a PC, the -M/S control signal of each HDD has a designated potential, e.g. a low level or a high level.
The method of designating a master and slave using a jumper plug is relatively easy and inexpensive. For example, a manufacturer can set the jumper plug, and mount the HDD on a machine before shipping. Alternatively, the user may set the jumper plug after purchasing an HDD. Typically, jumper plugs are acceptable for larger PCS, such as desktop PCS, because the HDD is mounted once in the machine. However, since the user sets the jumper pins during installation, the method is undesirable when HDDs are frequently installed and removed. Because notebook PCS are compact and have a small number of ports, peripheral devices are frequently exchanged. Therefore, a jumper plug is not desirable.
Another method does not use jumper plugs, but designates default master and slave IDE connectors. A -M/S pin for the master IDE connector is set to a low level (grounded), while the -M/S pin for the slave IDE connector is set to a high level. For example, in the "IBM ThinkPad 755" ("ThinkPad" is a trademark of IBM Corp.), an IDE connector is mounted on the body of the PC and is fixed as the master.
Some notebook PCs can connect to a docking station. The main feature of a docking station is to provide the same working environment as a desktop PC, when using a notebook computer in an office. A docking station is also called an "expansion box" or an "expansion unit". For a notebook computer, the primary function of a docking station is to expand a bus to provide an additional bus slot. With bus expansion, the notebook computer can use a second IDE.sub.-- HDD.
When the "ThinkPad 755" is mounted in the "IBM Docking Station," the IDE connector on the docking station is fixed as a slave. The method assumes that an HDD is always installed in the PC body. The method has the advantage that the user does not have to set a jumper plug prior to use, and works especially well as long as a master HDD is always installed. However, because peripheral devices are now frequently exchanged, the disadvantages have become apparent.
When peripheral devices are frequently replaced, sometimes users mistakenly attach the HDDs only to the slave connectors. Moreover, a design which presets the connector in the PC body as master is not acceptable when an HDD is mounted in a docking station and no HDD is installed in the body of the PC or another storage device is mounted. Because the PC can not acknowledge the presence of a slave HDD without an intervening master HDD, a slave HDD that can not be acknowledged is merely excess baggage.
The master and slave IDE.sub.-- HDDs must be designated during an initialization routine when the power is turned on because only the master HDD communicates with the PC (I/O accesses). The slave HDD can not independently communicate with the PC. Therefore, if the PC fails to designate a master and a slave when power is turned on, software cannot correct the designation after the initialization routine ends.
Furthermore, if the master and slave are designated with jumper plugs, problems occur when HDDs are frequently replaced. For example, two master HDDs may be simultaneously connected, or only a slave HDD may be connected. In the former case, the master HDDs conflict with each other in the I/O space, and therefore the system security deteriorates. In the latter case, the PC does not even acknowledge the presence of the connected HDD. Therefore, in both cases, the HDDs are merely excess baggage.